/* eslint valid-jsdoc: "off" */

'use strict';

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};

  /*jwt认证*/
   config.jwt = {
       secret: 'AB12XY',  // 不能设置为123456
       enable: true, // default is false
       match: '/jwt', // optional
       expiresIn: '360h',  // 24 *15 小时
   }

  
   /*  egg-mysql 配置*/  
   config.mysql = {
    app:true,      // 是否挂载到app下
    agent:false,   // 是否挂载到代理下
    client:{
      host:'127.0.0.1',   // 主机地址
      port:'3306',
      user:'root',
      password:'123456',
      database:'eggjs-test'   // 数据库名称
    }
  }


  /* 跨域安全设置 */
  config.security = {
    　　　csrf: {
            enable: false,
            ignoreJSON: true,
         },
    　　　domainWhiteList: [ 'http://localhost:3000','http://localhost:3001' ]  // 白名单
  　　};
  config.cors = {
      origin: ctx => ctx.get('origin'), //这种方式是允许所有的IP+端口跨域访问
      // origin: 'http://localhost:3000',  // 
      credentials: true,  // 开启认证
      allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS'
  };

  /**验证参数 */
  exports.validate = {
    // convert: false,
    // validateRoot: false,
  };
 


  /* 项目取别名 */
  require('./config-alias.js')
  require('module-alias/register')

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1641779944003_1596';

  // add your middleware config here
  config.middleware = [];

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };

  return {
    ...config,
    ...userConfig,
  };
};
